#!/bin/bash
set -e

echo "🔍 检查前端开发环境..."

# 检查端口占用
if lsof -Pi :8001 -sTCP:LISTEN -t >/dev/null 2>&1; then
    echo "⚠️  端口 8001 已被占用，停止现有进程..."
    kill $(lsof -Pi :8001 -sTCP:LISTEN -t) 2>/dev/null || true
    sleep 2
fi

# 检查 UmiJS 状态
if [ ! -d "src/.umi" ] || [ ! -f "src/.umi/umi.ts" ]; then
    echo "🔧 重新生成 UmiJS 配置..."
    rm -rf src/.umi node_modules/.cache
    npm run postinstall
fi

# 快速构建检查
echo "🚀 启动开发服务器..."
npm start &
DEV_PID=$!

# 等待服务启动
echo "⏳ 等待服务启动..."
timeout 60 bash -c 'until curl -s http://localhost:8001 > /dev/null 2>&1; do sleep 2; done' || {
    echo "❌ 服务启动超时，检查日志..."
    kill $DEV_PID 2>/dev/null || true
    exit 1
}

echo "✅ 前端服务已启动: http://localhost:8001"
echo "📝 PID: $DEV_PID"